#ifndef ABSTRACTEVENT_H
#define ABSTRACTEVENT_H

#include <QObject>


class AbstractEvent : public QObject
{
    Q_OBJECT
public:
    enum EventType {
        MessageEvent = 0,
        OnlineStatusEvent = 1,
        RecentContactEvent = 2,
        CreateNewGroupEvent = 3
    };

public:
    explicit AbstractEvent(QObject *parent = 0);

public:
    virtual void process() = 0;
    virtual EventType eventType() const = 0;
};

#endif // ABSTRACTEVENT_H
